package org.itboys.mobile.dto.count;

import com.fasterxml.jackson.annotation.JsonIgnore;
import org.itboys.mobile.dto.common.MobileBaseDto;

import java.math.BigDecimal;
import java.util.List;

/**
 * 作者：jiangxiong
 * 日期：2017年5月8日
 * 描述：农厨_结算实体（购物车实体，只取products）_dto。
 */

public class KitchenCountDto{
    //基本属性
    private BigDecimal totalAmount;//应付金额
    private BigDecimal payAmount;//实付金额
    //@JsonIgnore
    //private BigDecimal retailAmount;//商品零售价。门店统计收益使用。
    @JsonIgnore
    private BigDecimal costAmount;//成本金额
    private Long memberId;//用户Id
    private Integer type;//结算类型。1,商城，2，积分,3,采购
    private Long couponId;//优惠券ID
    private BigDecimal couponAmount;//
    private String couponMsg;//优惠券优惠信息
    private BigDecimal balance;//余额
    private Integer isUserBalance;//是否使用余额。默认否
    private BigDecimal usedBalance;//使用余额抵扣的部分
    private String balanceMsg;//余额抵扣信息
    private BigDecimal score;//剩余积分
    private Integer sendType;//配送方式。1，配送，2，自提
    private BigDecimal sendAmount;//配送费
    private String sendAddress; //自提地址
    private String sendMsg;//配送费信息
    private String msg;//结算信息（促销优惠信息）
    private Long shopId;//门店id
    private String shopName;//门店名称
    private Long villageId;//小区ID
    private String villageName;//小区名称
    private List<KitchenCountProductDto> products;//结算商品
    private BigDecimal discount;//折扣。小于1的浮点数

    public KitchenCountDto() {

    }


    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }

/*    public BigDecimal getRetailAmount() {
        return retailAmount;
    }

    public void setRetailAmount(BigDecimal retailAmount) {
        this.retailAmount = retailAmount;
    }*/

    public BigDecimal getCostAmount() {
        return costAmount;
    }

    public void setCostAmount(BigDecimal costAmount) {
        this.costAmount = costAmount;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Long getCouponId() {
        return couponId;
    }

    public void setCouponId(Long couponId) {
        this.couponId = couponId;
    }

    public BigDecimal getCouponAmount() {
        return couponAmount;
    }

    public void setCouponAmount(BigDecimal couponAmount) {
        this.couponAmount = couponAmount;
    }

    public String getCouponMsg() {
        return couponMsg;
    }

    public void setCouponMsg(String couponMsg) {
        this.couponMsg = couponMsg;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public Integer getIsUserBalance() {
        return isUserBalance;
    }

    public void setIsUserBalance(Integer isUserBalance) {
        this.isUserBalance = isUserBalance;
    }

    public BigDecimal getUsedBalance() {
        return usedBalance;
    }

    public void setUsedBalance(BigDecimal usedBalance) {
        this.usedBalance = usedBalance;
    }

    public String getBalanceMsg() {
        return balanceMsg;
    }

    public void setBalanceMsg(String balanceMsg) {
        this.balanceMsg = balanceMsg;
    }

    public BigDecimal getScore() {
        return score;
    }

    public void setScore(BigDecimal score) {
        this.score = score;
    }

    public Integer getSendType() {
        return sendType;
    }

    public void setSendType(Integer sendType) {
        this.sendType = sendType;
    }

    public BigDecimal getSendAmount() {
        return sendAmount;
    }

    public void setSendAmount(BigDecimal sendAmount) {
        this.sendAmount = sendAmount;
    }

    public String getSendAddress() {
        return sendAddress;
    }

    public void setSendAddress(String sendAddress) {
        this.sendAddress = sendAddress;
    }

    public String getSendMsg() {
        return sendMsg;
    }

    public void setSendMsg(String sendMsg) {
        this.sendMsg = sendMsg;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public Long getVillageId() {
        return villageId;
    }

    public void setVillageId(Long villageId) {
        this.villageId = villageId;
    }

    public String getVillageName() {
        return villageName;
    }

    public void setVillageName(String villageName) {
        this.villageName = villageName;
    }

    public List<KitchenCountProductDto> getProducts() {
        return products;
    }

    public void setProducts(List<KitchenCountProductDto> products) {
        this.products = products;
    }

    public String getTypeStr() {
        String typeStr="";
        if(type==null)return typeStr;

        switch (type) {
            case 1:
                typeStr="商城结算。";
                break;
            case 2:
                typeStr="积分结算";
                break;
            case 3:
                typeStr="采购结算";
                break;
            default:
                break;
        }
        return typeStr;
    }
    public String sendTypeStr() {
        String sendTypeStr="";
        if(sendType==null)return sendTypeStr;

        switch (sendType) {
            case 1:
                sendTypeStr="门店配送。";
                break;
            case 2:
                sendTypeStr="自提";
                break;

            default:
                break;
        }
        return sendTypeStr;
    }

    public BigDecimal getDiscount() {
        return discount;
    }

    public void setDiscount(BigDecimal discount) {
        this.discount = discount;
    }
}
